<?php

  

    class cauhoiModel
    {

        function get_cauhoi_List()
        {
            $db = new Database();
            try
            {
                $cauhoi = new Poll_cauhoi();
                $rows = $cauhoi->getList_($db);

                $db->submitChanges();
                return $rows;
            }
            catch(PDOException $exc)
            {
                $db->rollback();
                echo $exc->getMessage();
                exit();
            }
        }

        // hàm tải thông tin 1 chủ đề
        function get_cauhoi($id)
        {
            $db = new Database();
            try
            {
                $cauhoi = new Poll_cauhoi();
                $cauhoi->setid($id);
                $cauhoi->getByID($db);

                $db->submitChanges();
                return $cauhoi;
            }
            catch(PDOException $exc)
            {
                $db->rollback();
                echo $exc->getMessage();
                exit();
            }
        }

        // xóa lĩnh vực
        function delete_cauhoi($values)
        {
            $db = new Database();
            try
            {
                
                    $cauhoi = new Poll_cauhoi();
                    $cauhoi->setid($values);
                    $cauhoi->delete($db);
                
                $db->submitChanges();
                return OK;
            }
            catch(PDOException $exc)
            {
                $db->rollback();                
                // lỗi không thể xóa vì đã sử dụng vào bảng khác rồi
                if(strpos($exc->getMessage(), "Cannot delete or update a parent row") !== FALSE)
                {
                    return FOREIGN_KEY;
                }
                else
                {
                    echo $exc->getMessage();
                    exit();
                }
            }
        }

        // thêm lĩnh vực
        function insert_cauhoi($noidung)
        {
            $db = new Database();
            try
            {
                $cauhoi = new Poll_cauhoi();
                $cauhoi->setnoidung($noidung);
                $cauhoi->insert($db);

                $db->submitChanges();

                return OK;
            }
            catch(PDOException $exc)
            {
                $db->rollback();

                if(strpos($exc->getMessage(), "Duplicate") !== FALSE)
                {
                    return DUPLICATE_ERROR;
                }
                else
                {
                    echo $exc->getMessage();
                    exit();
                }
            }
        }

        // thêm lĩnh vực
        function update_cauhoi( $id,$noidung)
        {
            $db = new Database();
            try
            {
                $cauhoi = new Poll_cauhoi();
                $cauhoi->setid($id);
                $cauhoi->setnoidung($noidung);
                $cauhoi->update($db);

                $db->submitChanges();

                return OK;
            }
            catch(PDOException $exc)
            {
                $db->rollback();
                if(strpos($exc->getMessage(), "Duplicate") !== FALSE)
                {
                    return DUPLICATE_ERROR;
                }
                else
                {
                    echo $exc->getMessage();
                    exit();
                }
            }
        }

    }

?>